package com.sdhs.system.syncdata.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.sdhs.system.syncdata.domain.SyncSysRoleUser;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;

import java.util.List;

/**
 * 角色用户关联关系(SysRoleUser)表服务接口
 *
 * @author makejava
 * @since 2022-09-29 11:17:39
 */
public interface SyncSysRoleUserService extends IService<SyncSysRoleUser> {

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    SyncSysRoleUser queryById(Long id);

    /**
     * 分页查询
     *
     * @param sysRoleUser 筛选条件
     * @param pageRequest      分页对象
     * @return 查询结果
     */
    Page<SyncSysRoleUser> queryByPage(SyncSysRoleUser sysRoleUser, PageRequest pageRequest);

    /**
     * 新增数据
     *
     * @param sysRoleUser 实例对象
     * @return 实例对象
     */
    SyncSysRoleUser insert(SyncSysRoleUser sysRoleUser);

    /**
     * 修改数据
     *
     * @param sysRoleUser 实例对象
     * @return 实例对象
     */
    SyncSysRoleUser update(SyncSysRoleUser sysRoleUser);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    boolean deleteById(Long id);


    /**
     *
     * @param userId 用户id
     * @param roleIds 角色列表
     * @param creator 创建者
     * @return
     */
    //批量添加用户角色信息
    boolean insertBatch(String userId,List<String> roleIds,String creator);

    //根据用户id删除角色信息
    int deleteRole(String userId);

    //根据用户id获取角色信息
    List<Object> getRoles(String uid);

}
